home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / interfaces / QuickTime™ 1.5 interfaces / ImageCompression.lisp < prev    next >
Encoding:
Text File  |  1994-09-12  |  39.1 KB  |  753 lines  |  [TEXT/CCL2]

  1.  
  2. (in-package :TRAPS)             ;  All rights reserved
  3. ; Created: Tuesday, October 13, 1992 at 4:31 PM
  4. ;  ImageCompression.p
  5. ;  Pascal Interface to the Macintosh Libraries
  6. ;  Copyright Apple Computer, Inc. 1991, 1992
  7. ;  All rights reserved
  8.  
  9. ; $IFC UNDEFINED UsingIncludes
  10. ; $SETC UsingIncludes := 0
  11. ; $ENDC
  12.  
  13. ; $IFC NOT UsingIncludes
  14.  
  15. ; $ENDC
  16.  
  17. ; $IFC UNDEFINED UsingImageCompression
  18. ; $SETC UsingImageCompression := 1
  19.  
  20. ; $I+
  21. ; $SETC ImageCompressionIncludes := UsingIncludes
  22. ; $SETC UsingIncludes := 1
  23. ; $IFC UNDEFINED UsingQuickDraw
  24.  
  25. (require-interface 'QUICKDRAW)  ; $I $$Shell(PInterfaces)QuickDraw.p
  26. ; $ENDC
  27. ; $IFC UNDEFINED UsingQDOffscreen
  28.  
  29. (require-interface 'QDOFFSCREEN); $I $$Shell(PInterfaces)QDOffscreen.p
  30. ; $ENDC
  31. ; $IFC UNDEFINED UsingTypes
  32.  
  33. (require-interface 'TYPES)      ; $I $$Shell(PInterfaces)Types.p
  34. ; $ENDC
  35. ; $IFC UNDEFINED UsingComponents
  36.  
  37. (require-interface 'COMPONENTS) ; $I $$Shell(PInterfaces)Components.p
  38. ; $ENDC
  39. ; $IFC UNDEFINED UsingStandardFile
  40.  
  41. (require-interface 'STANDARDFILE); $I $$Shell(PInterfaces)StandardFile.p
  42. ; $ENDC
  43. ; $SETC UsingIncludes := ImageCompressionIncludes
  44.  
  45. (defconstant $gestaltCompressionMgr :|icmp|)
  46.  
  47. ;   Matrix stuff  
  48. (defrecord MatrixRecord 
  49.    (matrix (:ARRAY :SIGNED-LONG 3 3))
  50.    )
  51. (def-mactype :MATRIXRECORDPTR (find-mactype :POINTER))
  52.  
  53. (defrecord FixedPoint 
  54.    (x :SIGNED-LONG)
  55.    (y :SIGNED-LONG)
  56.    )
  57.  
  58. (defrecord FixedRect 
  59.    (left :SIGNED-LONG)
  60.    (top :SIGNED-LONG)
  61.    (right :SIGNED-LONG)
  62.    (bottom :SIGNED-LONG)
  63.    )
  64.  
  65. ;  These are the bits that are set in the Component flags, and also in the codecInfo struct. 
  66.  
  67. (defconstant $codecInfoDoes1 #X1);  codec can work with 1-bit pixels 
  68. (defconstant $codecInfoDoes2 #X2);  codec can work with 2-bit pixels 
  69. (defconstant $codecInfoDoes4 #X4);  codec can work with 4-bit pixels 
  70. (defconstant $codecInfoDoes8 #X8);  codec can work with 8-bit pixels 
  71. (defconstant $codecInfoDoes16 #X10);  codec can work with 16-bit pixels 
  72. (defconstant $codecInfoDoes32 #X20);  codec can work with 32-bit pixels 
  73. (defconstant $codecInfoDoesDither #X40);  codec can do ditherMode 
  74. (defconstant $codecInfoDoesStretch #X80);  codec can stretch to arbitrary sizes 
  75. (defconstant $codecInfoDoesShrink #X100);  codec can shrink to arbitrary sizes 
  76. (defconstant $codecInfoDoesMask #X200);  codec can mask to clipping regions 
  77.  
  78. (defconstant $codecInfoDoesTemporal #X400);  codec can handle temporal redundancy 
  79.  
  80. (defconstant $codecInfoDoesDouble #X800);  codec can stretch to double size exactly 
  81. (defconstant $codecInfoDoesQuad #X1000);  codec can stretch to quadruple size exactly 
  82. (defconstant $codecInfoDoesHalf #X2000);  codec can shrink to half size 
  83. (defconstant $codecInfoDoesQuarter #X4000);  codec can shrink to quarter size 
  84.  
  85. (defconstant $codecInfoDoesRotate #X8000);  codec can rotate on decompress 
  86. (defconstant $codecInfoDoesHorizFlip #X10000);  codec can flip horizontally on decompress 
  87. (defconstant $codecInfoDoesVertFlip #X20000);  codec can flip vertically on decompress 
  88. (defconstant $codecInfoDoesSkew #X40000);  codec can skew on decompress 
  89. (defconstant $codecInfoDoesBlend #X80000);  codec can blend on decompress 
  90. (defconstant $codecInfoDoesWarp #X100000);  codec can warp arbitrarily on decompress 
  91. (defconstant $codecInfoDoesRecompress #X200000);  codec can recompress image without accumulating errors 
  92. (defconstant $codecInfoDoesSpool #X400000);  codec can spool image data 
  93. (defconstant $codecInfoDoesRateConstrain #X800000)
  94.  
  95. (defconstant $codecInfoDepth1 #X1);  compressed data at 1 bpp depth available 
  96. (defconstant $codecInfoDepth2 #X2);  compressed data at 2 bpp depth available 
  97. (defconstant $codecInfoDepth4 #X4);  compressed data at 4 bpp depth available 
  98. (defconstant $codecInfoDepth8 #X8);  compressed data at 8 bpp depth available 
  99. (defconstant $codecInfoDepth16 #X10);  compressed data at 16 bpp depth available 
  100. (defconstant $codecInfoDepth32 #X20);  compressed data at 32 bpp depth available 
  101. (defconstant $codecInfoDepth24 #X40);  compressed data at 24 bpp depth available 
  102. (defconstant $codecInfoDepth33 #X80);  compressed data at 1 bpp monochrome depth  available 
  103. (defconstant $codecInfoDepth34 #X100);  compressed data at 2 bpp grayscale depth available 
  104. (defconstant $codecInfoDepth36 #X200);  compressed data at 4 bpp grayscale depth available 
  105. (defconstant $codecInfoDepth40 #X400);  compressed data at 8 bpp grayscale depth available 
  106. (defconstant $codecInfoStoresClut #X800);  compressed data can have custom cluts 
  107. (defconstant $codecInfoDoesLossless #X1000);  compressed data can be stored in lossless format 
  108. (defconstant $codecInfoSequenceSensitive #X2000)
  109.  
  110. (defconstant $codecFlagUseImageBuffer #X1);  (input) allocate buffer for whole image on decompress sequence 
  111. (defconstant $codecFlagUseScreenBuffer #X2);  (input) allocate buffer for screen on decompress sequence for faster updates 
  112. (defconstant $codecFlagUpdatePrevious #X4);  (input) udate previous buffer on compress sequence 
  113. (defconstant $codecFlagNoScreenUpdate #X8);  (input) dont update screen, but do update image buffer if allocated 
  114. (defconstant $codecFlagWasCompressed #X10);  (input) hint to compressor that image was previously compressed 
  115. (defconstant $codecFlagDontOffscreen #X20);  (input) return error instead of automatically going offscreen 
  116. (defconstant $codecFlagUpdatePreviousComp #X40);  (input) udate previous buffer on compress sequence 
  117. (defconstant $codecFlagForceKeyFrame #X80);  (input) when sent to CompressSequenceFrame, forces that frame to be a key frame 
  118. (defconstant $codecFlagOnlyScreenUpdate #X100);  (input) only update screen from 
  119. (defconstant $codecFlagLiveGrab #X200);  (input) data being compressed is from live source (speed is critical) 
  120. (defconstant $codecFlagDontUseNewImageBuffer #X400);  (input) return error if image buffer is new or reallocated 
  121. (defconstant $codecFlagInterlaceUpdate #X800);  (input) use interlaced update 
  122.  
  123. (defconstant $codecFlagUsedNewImageBuffer #X4000);  (output) indicates that image buffer was first used on this decompress sequence 
  124. (defconstant $codecFlagUsedImageBuffer #X8000);  (output) indicates that image buffer was used on this decompress sequence 
  125.  
  126. (defconstant $codecErr -8960)   ;  the codec returned an error 
  127. (defconstant $noCodecErr -8961) ;  the specified codec could not be found 
  128. (defconstant $codecUnimpErr -8962);  this feature is not implemented by the specified codec 
  129. (defconstant $codecSizeErr -8963)
  130. (defconstant $codecScreenBufErr -8964);  the screen buffer could not be allocated 
  131. (defconstant $codecImageBufErr -8965);  the image buffer could not be allocated 
  132. (defconstant $codecSpoolErr -8966);  the compressed data must be in memory (spooling did not work) 
  133. (defconstant $codecAbortErr -8967);  the operation was aborted by the progress proc 
  134. (defconstant $codecWouldOffscreenErr -8968);  an offscreen access would have been used, but wasn't allowed because codecFlagDontOffscreen was set 
  135. (defconstant $codecBadDataErr -8969);  compressed data was found to have inconsistencies 
  136. (defconstant $codecDataVersErr -8970);  compressed data was of a format version that codec couldn't handle 
  137. (defconstant $codecExtensionNotFoundErr -8971)
  138. (defconstant $codecConditionErr -8972);  codec can not do requested operation 
  139. (defconstant $codecOpenErr -8973);  the codec  could not be opened 
  140.  
  141. (defconstant $codecMinimumDataSize 32768);  The minimum data size for spooling in or out data 
  142.  
  143. (defconstant $compressorComponentType :|imco|);  the type for "Components" which compress images 
  144. (defconstant $decompressorComponentType :|imdc|);  the type for "Components" which decompress images 
  145.  
  146. (def-mactype :COMPRESSORCOMPONENT (find-mactype :POINTER));  a Component which compresses images 
  147. (def-mactype :DECOMPRESSORCOMPONENT (find-mactype :POINTER));  a Component which decompresses images 
  148. (def-mactype :CODECCOMPONENT (find-mactype :POINTER));  a Component which decompresses or compresses images 
  149.  
  150. (defconstant $anyCodec 0)       ;  take first working codec of given type 
  151. (defconstant $bestSpeedCodec -1);  take fastest codec of given type 
  152. (defconstant $bestFidelityCodec -2);  take codec which is most accurate
  153. (defconstant $bestCompressionCodec -3);  take codec of given type that is most accurate 
  154.  
  155. (def-mactype :CODECTYPE (find-mactype :OSTYPE));  type descriptor for codecs i.e: 'appl','jpeg','rle ' 
  156.  
  157. (def-mactype :CODECFLAGS (find-mactype :SIGNED-INTEGER));  flags for codec manager calls 
  158.  
  159. (def-mactype :CODECQ (find-mactype :SIGNED-LONG))
  160.  
  161. (defconstant $codecLosslessQuality #X400)
  162. (defconstant $codecMaxQuality #X3FF)
  163. (defconstant $codecMinQuality #X0)
  164. (defconstant $codecLowQuality #X100)
  165. (defconstant $codecNormalQuality #X200)
  166. (defconstant $codecHighQuality #X300)
  167.  
  168. (def-mactype :DATAPROCPTR (find-mactype :POINTER))
  169. (def-mactype :FLUSHPROCPTR (find-mactype :POINTER))
  170. (def-mactype :COMPLETIONPROCPTR (find-mactype :POINTER))
  171.  
  172. (defconstant $codecCompletionSource 1);  asynchronous codec is done with source data  
  173. (defconstant $codecCompletionDest 2);  asynchronous codec is done with destination data  
  174.  
  175. (def-mactype :PROGRESSPROCPTR (find-mactype :POINTER))
  176.  
  177. (defconstant $codecProgressOpen 0)
  178. (defconstant $codecProgressUpdatePercent 1)
  179. (defconstant $codecProgressClose 2)
  180.  
  181. (def-mactype :STDPIXPROCPTR (find-mactype :POINTER))
  182.  
  183. (def-mactype :IMAGESEQUENCE (find-mactype :SIGNED-LONG))
  184.  
  185. (def-mactype :PROGRESSPROCRECORDPTR (find-mactype :POINTER))
  186. (defrecord ProgressProcRecord 
  187.    (progressProc :POINTER)
  188.    (progressRefCon :SIGNED-LONG)
  189.    )
  190.  
  191. (def-mactype :COMPLETIONPROCRECORDPTR (find-mactype :POINTER))
  192. (defrecord CompletionProcRecord 
  193.    (completionProc :POINTER)
  194.    (completionRefCon :SIGNED-LONG)
  195.    )
  196.  
  197. (def-mactype :DATAPROCRECORDPTR (find-mactype :POINTER))
  198. (defrecord DataProcRecord 
  199.    (dataProc :POINTER)
  200.    (dataRefCon :SIGNED-LONG)
  201.    )
  202.  
  203. (def-mactype :FLUSHPROCRECORDPTR (find-mactype :POINTER))
  204. (defrecord FlushProcRecord 
  205.    (flushProc :POINTER)
  206.    (flushRefCon :SIGNED-LONG)
  207.    )
  208.  
  209. (def-mactype :ALIGNMENTPROCPTR (find-mactype :POINTER))
  210.  
  211. (def-mactype :ALIGNMENTPROCRECORDPTR (find-mactype :POINTER))
  212. (defrecord AlignmentProcRecord 
  213.    (alignmentProc :POINTER)
  214.    (alignmentRefCon :SIGNED-LONG)
  215.    )
  216.  
  217. (def-mactype :DATARATEPARAMSPTR (find-mactype :POINTER))
  218. (defrecord DataRateParams 
  219.    (dataRate :SIGNED-LONG)
  220.    (dataOverrun :SIGNED-LONG)
  221.    (frameDuration :SIGNED-LONG)
  222.    (keyFrameRate :SIGNED-LONG)
  223.    (minSpatialQuality :SIGNED-LONG)
  224.    (minTemporalQuality :SIGNED-LONG)
  225.    )
  226.  
  227. ;  
  228. ;     The ImageDescription is private data which is produced when an image or sequence 
  229. ;     is compressed. It fully describes the format of the compressed data.
  230.  
  231. (def-mactype :IMAGEDESCRIPTIONPTR (find-mactype :POINTER))
  232. (def-mactype :IMAGEDESCRIPTIONHANDLE (find-mactype :HANDLE))
  233. (defrecord (ImageDescription :handle) 
  234.    (idSize :SIGNED-LONG)        ;  total size of ImageDescription including extra data ( CLUTs and other per sequence data 
  235.    (cType :OSTYPE)              ;  what kind of codec compressed this data 
  236.    (resvd1 :SIGNED-LONG)        ;  reserved for apple use 
  237.    (resvd2 :SIGNED-INTEGER)     ;  reserved for apple use 
  238.    (dataRefIndex :SIGNED-INTEGER);  set to zero 
  239.    (version :SIGNED-INTEGER)    ;  which version is this data 
  240.    (revisionLevel :SIGNED-INTEGER);  what version of that codec did this 
  241.    (vendor :SIGNED-LONG)        ;  whose  codec compressed this data 
  242.    (temporalQuality :SIGNED-LONG);  what was the temporal quality factor          
  243.    (spatialQuality :SIGNED-LONG);  what was the spatial quality factor          
  244.    (width :SIGNED-INTEGER)      ;  how many pixels wide is this data 
  245.    (height :SIGNED-INTEGER)     ;  how many pixels high is this data 
  246.    (hRes :SIGNED-LONG)          ;  horizontal resolution 
  247.    (vRes :SIGNED-LONG)          ;  vertical resolution 
  248.    (dataSize :SIGNED-LONG)      ;  if known, the size of data for this image descriptor 
  249.    (frameCount :SIGNED-INTEGER) ;  number of frames this description applies to 
  250.    (name (:ARRAY :CHARACTER 32));  name of codec ( in case not installed ) 
  251.    (depth :SIGNED-INTEGER)      ;  what depth is this data (1-32) or ( 33-40 grayscale ) 
  252.    (clutID :SIGNED-INTEGER)     ;  clut id or if 0 clut follows  or -1 if no clut 
  253.    )
  254.  
  255. ;  
  256. ;     The CodecInfo is the information returned as the codecInfo struct by a codec Component
  257. ;     to the codec manager or to the caller. It is specific to the particular codec
  258. ;     implementation and not to the codec type.
  259.  
  260. (defrecord CodecInfo 
  261.    (typeName (:ARRAY :CHARACTER 32));  name of the codec type i.e.: 'Apple Image Compression' 
  262.    (version :SIGNED-INTEGER)    ;  version of the codec data that this codec knows about 
  263.    (revisionLevel :SIGNED-INTEGER);  revision level of this codec i.e: 0x00010001 (1.0.1) 
  264.    (vendor :SIGNED-LONG)        ;  Maker of this codec i.e: 'appl' 
  265.    (decompressFlags :SIGNED-LONG);  codecInfo flags for decompression capabilities 
  266.    (compressFlags :SIGNED-LONG) ;  codecInfo flags for compression capabilities 
  267.    (formatFlags :SIGNED-LONG)   ;  codecInfo flags for compression format details 
  268.    (compressionAccuracy :CHARACTER);  measure (1-255) of accuracy of this codec for compress (0 if unknown) 
  269.    (decompressionAccuracy :CHARACTER);  measure (1-255) of accuracy of this codec for decompress (0 if unknown) 
  270.    (compressionSpeed :SIGNED-INTEGER);  ( millisecs for compressing 320x240 on base mac II) (0 if unknown) 
  271.    (decompressionSpeed :SIGNED-INTEGER);  ( millisecs for decompressing 320x240 on mac II)(0 if unknown) 
  272.    (compressionLevel :CHARACTER);  measure (1-255) of compression level of this codec (0 if unknown) 
  273.    (resvd :CHARACTER)           ;  pad 
  274.    (minimumHeight :SIGNED-INTEGER);  minimum height of image (block size) 
  275.    (minimumWidth :SIGNED-INTEGER);  minimum width of image (block size) 
  276.    (decompressPipelineLatency :SIGNED-INTEGER);  in milliseconds ( for asynchronous codecs ) 
  277.    (compressPipelineLatency :SIGNED-INTEGER);  in milliseconds ( for asynchronous codecs ) 
  278.    (privateData :SIGNED-LONG)
  279.    )
  280.  
  281. ;  Name list returned by GetCodecNameList. 
  282. (defrecord CodecNameSpec 
  283.    (codec (:POINTER :PRIVATECOMPONENTRECORD))
  284.    (cType :OSTYPE)
  285.    (typeName (:ARRAY :CHARACTER 32))
  286.    (name :HANDLE)
  287.    )
  288.  
  289. (def-mactype :CODECNAMESPECLISTPTR (find-mactype :POINTER))
  290. (defrecord CodecNameSpecList 
  291.    (count :SIGNED-INTEGER)
  292.    (list (:ARRAY :CODECNAMESPEC 1))
  293.    )
  294.  
  295. (defconstant $defaultDither 0)
  296. (defconstant $forceDither 1)
  297. (defconstant $suppressDither 2)
  298.  
  299.  
  300. (deftrap _CODECMANAGERVERSION ((VERSION (:POINTER :SIGNED-LONG)))
  301.    (:STACK :SIGNED-INTEGER)
  302.    (:STACK-TRAP #xAAA3 :D0 0 VERSION))
  303.  
  304. (deftrap _GETCODECNAMELIST ((LIST (:POINTER (:POINTER :CODECNAMESPECLIST))) (SHOWALL :SIGNED-INTEGER))
  305.    (:STACK :SIGNED-INTEGER)
  306.    (:STACK-TRAP #xAAA3 :D0 1 LIST SHOWALL))
  307.  
  308. (deftrap _DISPOSECODECNAMELIST ((LIST (:POINTER :CODECNAMESPECLIST)))
  309.    (:STACK :SIGNED-INTEGER)
  310.    (:STACK-TRAP #xAAA3 :D0 15 LIST))
  311.  
  312. (deftrap _GETCODECINFO ((INFO (:POINTER :CODECINFO)) (CTYPE :OSTYPE) (CODEC (:POINTER :PRIVATECOMPONENTRECORD)))
  313.    (:STACK :SIGNED-INTEGER)
  314.    (:STACK-TRAP #xAAA3 :D0 3 INFO CTYPE CODEC))
  315.  
  316. (deftrap _GETMAXCOMPRESSIONSIZE ((SRC (:HANDLE :PIXMAP)) (SRCRECT :RECT) (COLORDEPTH :SIGNED-INTEGER) (QUALITY :SIGNED-LONG) (CTYPE :OSTYPE) (CODEC (:POINTER :PRIVATECOMPONENTRECORD)) (SIZE (:POINTER :SIGNED-LONG)))
  317.    (:STACK :SIGNED-INTEGER)
  318.    (:STACK-TRAP #xAAA3 :D0 4 SRC SRCRECT COLORDEPTH QUALITY CTYPE CODEC SIZE))
  319.  
  320. (deftrap _GETCOMPRESSIONTIME ((SRC (:HANDLE :PIXMAP)) (SRCRECT :RECT) (COLORDEPTH :SIGNED-INTEGER) (CTYPE :OSTYPE) (CODEC (:POINTER :PRIVATECOMPONENTRECORD)) (SPATIALQUALITY (:POINTER :SIGNED-LONG)) (TEMPORALQUALITY (:POINTER :SIGNED-LONG)) (COMPRESSTIME (:POINTER :SIGNED-LONG)))
  321.    (:STACK :SIGNED-INTEGER)
  322.    (:STACK-TRAP #xAAA3 :D0 5 SRC SRCRECT COLORDEPTH CTYPE CODEC SPATIALQUALITY TEMPORALQUALITY COMPRESSTIME))
  323.  
  324. (deftrap _COMPRESSIMAGE ((SRC (:HANDLE :PIXMAP)) (SRCRECT :RECT) (QUALITY :SIGNED-LONG) (CTYPE :OSTYPE) (DESC (:HANDLE :IMAGEDESCRIPTION)) (DATA :POINTER))
  325.    (:STACK :SIGNED-INTEGER)
  326.    (:STACK-TRAP #xAAA3 :D0 6 SRC SRCRECT QUALITY CTYPE DESC DATA))
  327.  
  328. (deftrap _FCOMPRESSIMAGE ((SRC (:HANDLE :PIXMAP)) (SRCRECT :RECT) (COLORDEPTH :SIGNED-INTEGER) (QUALITY :SIGNED-LONG) (CTYPE :OSTYPE) (CODEC (:POINTER :PRIVATECOMPONENTRECORD)) (CLUT (:HANDLE :COLORTABLE)) (FLAGS :SIGNED-INTEGER) (BUFFERSIZE :SIGNED-LONG) (FLUSHPROC (:POINTER :FLUSHPROCRECORD)) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)) (DESC (:HANDLE :IMAGEDESCRIPTION)) (DATA :POINTER))
  329.    (:STACK :SIGNED-INTEGER)
  330.    (:STACK-TRAP #xAAA3 :D0 7 SRC SRCRECT COLORDEPTH QUALITY CTYPE CODEC CLUT FLAGS BUFFERSIZE FLUSHPROC PROGRESSPROC DESC DATA))
  331.  
  332. (deftrap _DECOMPRESSIMAGE ((DATA :POINTER) (DESC (:HANDLE :IMAGEDESCRIPTION)) (DST (:HANDLE :PIXMAP)) (SRCRECT :RECT) (DSTRECT :RECT) (MODE :SIGNED-INTEGER) (MASK (:HANDLE :REGION)))
  333.    (:STACK :SIGNED-INTEGER)
  334.    (:STACK-TRAP #xAAA3 :D0 8 DATA DESC DST SRCRECT DSTRECT MODE MASK))
  335.  
  336. (deftrap _FDECOMPRESSIMAGE ((DATA :POINTER) (DESC (:HANDLE :IMAGEDESCRIPTION)) (DST (:HANDLE :PIXMAP)) (SRCRECT :RECT) (MATRIX (:POINTER :MATRIXRECORD)) (MODE :SIGNED-INTEGER) (MASK (:HANDLE :REGION)) (MATTE (:HANDLE :PIXMAP)) (MATTERECT :RECT) (ACCURACY :SIGNED-LONG) (CODEC (:POINTER :PRIVATECOMPONENTRECORD)) (BUFFERSIZE :SIGNED-LONG) (DATAPROC (:POINTER :DATAPROCRECORD)) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)))
  337.    (:STACK :SIGNED-INTEGER)
  338.    (:STACK-TRAP #xAAA3 :D0 9 DATA DESC DST SRCRECT MATRIX MODE MASK MATTE MATTERECT ACCURACY CODEC BUFFERSIZE DATAPROC PROGRESSPROC))
  339.  
  340. (deftrap _COMPRESSSEQUENCEBEGIN ((SEQID (:POINTER :SIGNED-LONG)) (SRC (:HANDLE :PIXMAP)) (PREV (:HANDLE :PIXMAP)) (SRCRECT :RECT) (PREVRECT :RECT) (COLORDEPTH :SIGNED-INTEGER) (CTYPE :OSTYPE) (CODEC (:POINTER :PRIVATECOMPONENTRECORD)) (SPATIALQUALITY :SIGNED-LONG) (TEMPORALQUALITY :SIGNED-LONG) (KEYFRAMERATE :SIGNED-LONG) (CLUT (:HANDLE :COLORTABLE)) (FLAGS :SIGNED-INTEGER) (DESC (:HANDLE :IMAGEDESCRIPTION)))
  341.    (:STACK :SIGNED-INTEGER)
  342.    (:STACK-TRAP #xAAA3 :D0 10 SEQID SRC PREV SRCRECT PREVRECT COLORDEPTH CTYPE CODEC SPATIALQUALITY TEMPORALQUALITY KEYFRAMERATE CLUT FLAGS DESC))
  343.  
  344. #| Not in ROM - INLINE =  #x206F #x0004 #x4250 #x52AF #x0004 #x700B #xAAA3 |#
  345. ; Hand translated
  346. (deftrap _COMPRESSSEQUENCEFRAME ((SEQID :SIGNED-LONG) (SRC (:HANDLE :PIXMAP)) (SRCRECT :RECT) (FLAGS :SIGNED-INTEGER) (DATA :POINTER) (DATASIZE (:POINTER :SIGNED-LONG)) (SIMILARITY (:POINTER :UNSIGNED-BYTE)) (ASYNCCOMPLETIONPROC (:POINTER :COMPLETIONPROCRECORD)))
  347.    (:no-trap :SIGNED-INTEGER)
  348.    (:no-trap
  349.     (ccl::with-macptrs ((incd-proc (%inc-ptr asynccompletionproc)))
  350.       (setf (%get-word asynccompletionproc) 0)
  351.       (ccl::stack-trap #xaaa3
  352.                        :d0 #xb
  353.                        :word seqid
  354.                        :long src
  355.                        :long srcrect
  356.                        :word flags
  357.                        :long data
  358.                        :long datasize
  359.                        :long similarity
  360.                        :long incd-proc))))
  361.  
  362. (deftrap _DECOMPRESSSEQUENCEBEGIN ((SEQID (:POINTER :SIGNED-LONG)) (DESC (:HANDLE :IMAGEDESCRIPTION)) (PORT (:POINTER :CGRAFPORT)) (GDH (:HANDLE :GDEVICE)) (SRCRECT :RECT) (MATRIX (:POINTER :MATRIXRECORD)) (MODE :SIGNED-INTEGER) (MASK (:HANDLE :REGION)) (FLAGS :SIGNED-INTEGER) (ACCURACY :SIGNED-LONG) (CODEC (:POINTER :PRIVATECOMPONENTRECORD)))
  363.    (:STACK :SIGNED-INTEGER)
  364.    (:STACK-TRAP #xAAA3 :D0 13 SEQID DESC PORT GDH SRCRECT MATRIX MODE MASK FLAGS ACCURACY CODEC))
  365.  
  366. (deftrap _DECOMPRESSSEQUENCEFRAME ((SEQID :SIGNED-LONG) (DATA :POINTER) (INFLAGS :SIGNED-INTEGER) (OUTFLAGS (:POINTER :SIGNED-INTEGER)) (ASYNCCOMPLETIONPROC (:POINTER :COMPLETIONPROCRECORD)))
  367.    (:STACK :SIGNED-INTEGER)
  368.    (:STACK-TRAP #xAAA3 :D0 14 SEQID DATA INFLAGS OUTFLAGS ASYNCCOMPLETIONPROC))
  369.  
  370. (deftrap _SETDSEQUENCEMATRIX ((SEQID :SIGNED-LONG) (MATRIX (:POINTER :MATRIXRECORD)))
  371.    (:STACK :SIGNED-INTEGER)
  372.    (:STACK-TRAP #xAAA3 :D0 16 SEQID MATRIX))
  373.  
  374. (deftrap _SETDSEQUENCEMATTE ((SEQID :SIGNED-LONG) (MATTE (:HANDLE :PIXMAP)) (MATTERECT :RECT))
  375.    (:STACK :SIGNED-INTEGER)
  376.    (:STACK-TRAP #xAAA3 :D0 17 SEQID MATTE MATTERECT))
  377.  
  378. (deftrap _SETDSEQUENCEMASK ((SEQID :SIGNED-LONG) (MASK (:HANDLE :REGION)))
  379.    (:STACK :SIGNED-INTEGER)
  380.    (:STACK-TRAP #xAAA3 :D0 18 SEQID MASK))
  381.  
  382. (deftrap _SETDSEQUENCETRANSFERMODE ((SEQID :SIGNED-LONG) (MODE :SIGNED-INTEGER) (OPCOLOR :RGBCOLOR))
  383.    (:STACK :SIGNED-INTEGER)
  384.    (:STACK-TRAP #xAAA3 :D0 19 SEQID MODE OPCOLOR))
  385.  
  386. (deftrap _SETDSEQUENCEDATAPROC ((SEQID :SIGNED-LONG) (DATAPROC (:POINTER :DATAPROCRECORD)) (BUFFERSIZE :SIGNED-LONG))
  387.    (:STACK :SIGNED-INTEGER)
  388.    (:STACK-TRAP #xAAA3 :D0 20 SEQID DATAPROC BUFFERSIZE))
  389.  
  390. (deftrap _SETDSEQUENCEACCURACY ((SEQID :SIGNED-LONG) (ACCURACY :SIGNED-LONG))
  391.    (:STACK :SIGNED-INTEGER)
  392.    (:STACK-TRAP #xAAA3 :D0 52 SEQID ACCURACY))
  393.  
  394. (deftrap _SETDSEQUENCESRCRECT ((SEQID :SIGNED-LONG) (SRCRECT :RECT))
  395.    (:STACK :SIGNED-INTEGER)
  396.    (:STACK-TRAP #xAAA3 :D0 53 SEQID SRCRECT))
  397.  
  398. (deftrap _GETDSEQUENCEIMAGEBUFFER ((SEQID :SIGNED-LONG) (GWORLD (:POINTER (:POINTER :CGRAFPORT))))
  399.    (:STACK :SIGNED-INTEGER)
  400.    (:STACK-TRAP #xAAA3 :D0 21 SEQID GWORLD))
  401.  
  402. (deftrap _GETDSEQUENCESCREENBUFFER ((SEQID :SIGNED-LONG) (GWORLD (:POINTER (:POINTER :CGRAFPORT))))
  403.    (:STACK :SIGNED-INTEGER)
  404.    (:STACK-TRAP #xAAA3 :D0 22 SEQID GWORLD))
  405.  
  406. (deftrap _SETCSEQUENCEQUALITY ((SEQID :SIGNED-LONG) (SPATIALQUALITY :SIGNED-LONG) (TEMPORALQUALITY :SIGNED-LONG))
  407.    (:STACK :SIGNED-INTEGER)
  408.    (:STACK-TRAP #xAAA3 :D0 23 SEQID SPATIALQUALITY TEMPORALQUALITY))
  409.  
  410. (deftrap _SETCSEQUENCEPREV ((SEQID :SIGNED-LONG) (PREV (:HANDLE :PIXMAP)) (PREVRECT :RECT))
  411.    (:STACK :SIGNED-INTEGER)
  412.    (:STACK-TRAP #xAAA3 :D0 24 SEQID PREV PREVRECT))
  413.  
  414. (deftrap _SETCSEQUENCEFLUSHPROC ((SEQID :SIGNED-LONG) (FLUSHPROC (:POINTER :FLUSHPROCRECORD)) (BUFFERSIZE :SIGNED-LONG))
  415.    (:STACK :SIGNED-INTEGER)
  416.    (:STACK-TRAP #xAAA3 :D0 51 SEQID FLUSHPROC BUFFERSIZE))
  417.  
  418. (deftrap _SETCSEQUENCEKEYFRAMERATE ((SEQID :SIGNED-LONG) (KEYFRAMERATE :SIGNED-LONG))
  419.    (:STACK :SIGNED-INTEGER)
  420.    (:STACK-TRAP #xAAA3 :D0 54 SEQID KEYFRAMERATE))
  421.  
  422. (deftrap _GETCSEQUENCEKEYFRAMERATE ((SEQID :SIGNED-LONG) (KEYFRAMERATE (:POINTER :SIGNED-LONG)))
  423.    (:STACK :SIGNED-INTEGER)
  424.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 12 16) 75) SEQID KEYFRAMERATE))
  425.  
  426. (deftrap _GETCSEQUENCEPREVBUFFER ((SEQID :SIGNED-LONG) (GWORLD (:POINTER (:POINTER :CGRAFPORT))))
  427.    (:STACK :SIGNED-INTEGER)
  428.    (:STACK-TRAP #xAAA3 :D0 25 SEQID GWORLD))
  429.  
  430. (deftrap _CDSEQUENCEBUSY ((SEQID :SIGNED-LONG))
  431.    (:STACK :SIGNED-INTEGER)
  432.    (:STACK-TRAP #xAAA3 :D0 26 SEQID))
  433.  
  434. (deftrap _CDSEQUENCEEND ((SEQID :SIGNED-LONG))
  435.    (:STACK :SIGNED-INTEGER)
  436.    (:STACK-TRAP #xAAA3 :D0 27 SEQID))
  437.  
  438. (deftrap _GETCOMPRESSEDIMAGESIZE ((DESC (:HANDLE :IMAGEDESCRIPTION)) (DATA :POINTER) (BUFFERSIZE :SIGNED-LONG) (DATAPROC (:POINTER :DATAPROCRECORD)) (DATASIZE (:POINTER :SIGNED-LONG)))
  439.    (:STACK :SIGNED-INTEGER)
  440.    (:STACK-TRAP #xAAA3 :D0 28 DESC DATA BUFFERSIZE DATAPROC DATASIZE))
  441.  
  442. (deftrap _GETSIMILARITY ((SRC (:HANDLE :PIXMAP)) (SRCRECT :RECT) (DESC (:HANDLE :IMAGEDESCRIPTION)) (DATA :POINTER) (SIMILARITY (:POINTER :SIGNED-LONG)))
  443.    (:STACK :SIGNED-INTEGER)
  444.    (:STACK-TRAP #xAAA3 :D0 29 SRC SRCRECT DESC DATA SIMILARITY))
  445.  
  446. (deftrap _GETIMAGEDESCRIPTIONCTABLE ((DESC (:HANDLE :IMAGEDESCRIPTION)) (CTABLE (:POINTER (:HANDLE :COLORTABLE))))
  447.    (:STACK :SIGNED-INTEGER)
  448.    (:STACK-TRAP #xAAA3 :D0 30 DESC CTABLE))
  449.  
  450. (deftrap _SETIMAGEDESCRIPTIONCTABLE ((DESC (:HANDLE :IMAGEDESCRIPTION)) (CTABLE (:HANDLE :COLORTABLE)))
  451.    (:STACK :SIGNED-INTEGER)
  452.    (:STACK-TRAP #xAAA3 :D0 31 DESC CTABLE))
  453.  
  454. (deftrap _GETIMAGEDESCRIPTIONEXTENSION ((DESC (:HANDLE :IMAGEDESCRIPTION)) (EXTENSION (:POINTER :HANDLE)) (IDTYPE :SIGNED-LONG) (INDEX :SIGNED-LONG))
  455.    (:STACK :SIGNED-INTEGER)
  456.    (:STACK-TRAP #xAAA3 :D0 32 DESC EXTENSION IDTYPE INDEX))
  457.  
  458. (deftrap _SETIMAGEDESCRIPTIONEXTENSION ((DESC (:HANDLE :IMAGEDESCRIPTION)) (EXTENSION :HANDLE) (IDTYPE :SIGNED-LONG))
  459.    (:STACK :SIGNED-INTEGER)
  460.    (:STACK-TRAP #xAAA3 :D0 33 DESC EXTENSION IDTYPE))
  461.  
  462. (deftrap _REMOVEIMAGEDESCRIPTIONEXTENSION ((DESC (:HANDLE :IMAGEDESCRIPTION)) (IDTYPE :SIGNED-LONG) (INDEX :SIGNED-LONG))
  463.    (:STACK :SIGNED-INTEGER)
  464.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 12 16) 58) DESC IDTYPE INDEX))
  465.  
  466. (deftrap _COUNTIMAGEDESCRIPTIONEXTENSIONTYPE ((DESC (:HANDLE :IMAGEDESCRIPTION)) (IDTYPE :SIGNED-LONG) (COUNT (:POINTER :SIGNED-LONG)))
  467.    (:STACK :SIGNED-INTEGER)
  468.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 12 16) 59) DESC IDTYPE COUNT))
  469.  
  470. (deftrap _GETNEXTIMAGEDESCRIPTIONEXTENSIONTYPE ((DESC (:HANDLE :IMAGEDESCRIPTION)) (IDTYPE (:POINTER :SIGNED-LONG)))
  471.    (:STACK :SIGNED-INTEGER)
  472.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 8 16) 60) DESC IDTYPE))
  473.  
  474. (deftrap _FINDCODEC ((CTYPE :OSTYPE) (SPECCODEC (:POINTER :PRIVATECOMPONENTRECORD)) (COMPRESSOR (:POINTER (:POINTER :PRIVATECOMPONENTRECORD))) (DECOMPRESSOR (:POINTER (:POINTER :PRIVATECOMPONENTRECORD))))
  475.    (:STACK :SIGNED-INTEGER)
  476.    (:STACK-TRAP #xAAA3 :D0 35 CTYPE SPECCODEC COMPRESSOR DECOMPRESSOR))
  477.  
  478. (deftrap _COMPRESSPICTURE ((SRCPICTURE (:HANDLE :PICTURE)) (DSTPICTURE (:HANDLE :PICTURE)) (QUALITY :SIGNED-LONG) (CTYPE :OSTYPE))
  479.    (:STACK :SIGNED-INTEGER)
  480.    (:STACK-TRAP #xAAA3 :D0 36 SRCPICTURE DSTPICTURE QUALITY CTYPE))
  481.  
  482. (deftrap _FCOMPRESSPICTURE ((SRCPICTURE (:HANDLE :PICTURE)) (DSTPICTURE (:HANDLE :PICTURE)) (COLORDEPTH :SIGNED-INTEGER) (CLUT (:HANDLE :COLORTABLE)) (QUALITY :SIGNED-LONG) (DODITHER :SIGNED-INTEGER) (COMPRESSAGAIN :SIGNED-INTEGER) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)) (CTYPE :OSTYPE) (CODEC (:POINTER :PRIVATECOMPONENTRECORD)))
  483.    (:STACK :SIGNED-INTEGER)
  484.    (:STACK-TRAP #xAAA3 :D0 37 SRCPICTURE DSTPICTURE COLORDEPTH CLUT QUALITY DODITHER COMPRESSAGAIN PROGRESSPROC CTYPE CODEC))
  485.  
  486. (deftrap _COMPRESSPICTUREFILE ((SRCREFNUM :SIGNED-INTEGER) (DSTREFNUM :SIGNED-INTEGER) (QUALITY :SIGNED-LONG) (CTYPE :OSTYPE))
  487.    (:STACK :SIGNED-INTEGER)
  488.    (:STACK-TRAP #xAAA3 :D0 38 SRCREFNUM DSTREFNUM QUALITY CTYPE))
  489.  
  490. (deftrap _FCOMPRESSPICTUREFILE ((SRCREFNUM :SIGNED-INTEGER) (DSTREFNUM :SIGNED-INTEGER) (COLORDEPTH :SIGNED-INTEGER) (CLUT (:HANDLE :COLORTABLE)) (QUALITY :SIGNED-LONG) (DODITHER :SIGNED-INTEGER) (COMPRESSAGAIN :SIGNED-INTEGER) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)) (CTYPE :OSTYPE) (CODEC (:POINTER :PRIVATECOMPONENTRECORD)))
  491.    (:STACK :SIGNED-INTEGER)
  492.    (:STACK-TRAP #xAAA3 :D0 39 SRCREFNUM DSTREFNUM COLORDEPTH CLUT QUALITY DODITHER COMPRESSAGAIN PROGRESSPROC CTYPE CODEC))
  493.  
  494. (deftrap _GETPICTUREFILEHEADER ((REFNUM :SIGNED-INTEGER) (FRAME (:POINTER :RECT)) (HEADER (:POINTER :OPENCPICPARAMS)))
  495.    (:STACK :SIGNED-INTEGER)
  496.    (:STACK-TRAP #xAAA3 :D0 40 REFNUM FRAME HEADER))
  497.  
  498. (deftrap _DRAWPICTUREFILE ((REFNUM :SIGNED-INTEGER) (FRAME :RECT) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)))
  499.    (:STACK :SIGNED-INTEGER)
  500.    (:STACK-TRAP #xAAA3 :D0 41 REFNUM FRAME PROGRESSPROC))
  501.  
  502. (deftrap _DRAWTRIMMEDPICTURE ((SRCPICTURE (:HANDLE :PICTURE)) (FRAME :RECT) (TRIMMASK (:HANDLE :REGION)) (DODITHER :SIGNED-INTEGER) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)))
  503.    (:STACK :SIGNED-INTEGER)
  504.    (:STACK-TRAP #xAAA3 :D0 46 SRCPICTURE FRAME TRIMMASK DODITHER PROGRESSPROC))
  505.  
  506. (deftrap _DRAWTRIMMEDPICTUREFILE ((SRCREFNUM :SIGNED-INTEGER) (FRAME :RECT) (TRIMMASK (:HANDLE :REGION)) (DODITHER :SIGNED-INTEGER) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)))
  507.    (:STACK :SIGNED-INTEGER)
  508.    (:STACK-TRAP #xAAA3 :D0 47 SRCREFNUM FRAME TRIMMASK DODITHER PROGRESSPROC))
  509.  
  510. (deftrap _MAKETHUMBNAILFROMPICTURE ((PICTURE (:HANDLE :PICTURE)) (COLORDEPTH :SIGNED-INTEGER) (THUMBNAIL (:HANDLE :PICTURE)) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)))
  511.    (:STACK :SIGNED-INTEGER)
  512.    (:STACK-TRAP #xAAA3 :D0 42 PICTURE COLORDEPTH THUMBNAIL PROGRESSPROC))
  513.  
  514. (deftrap _MAKETHUMBNAILFROMPICTUREFILE ((REFNUM :SIGNED-INTEGER) (COLORDEPTH :SIGNED-INTEGER) (THUMBNAIL (:HANDLE :PICTURE)) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)))
  515.    (:STACK :SIGNED-INTEGER)
  516.    (:STACK-TRAP #xAAA3 :D0 43 REFNUM COLORDEPTH THUMBNAIL PROGRESSPROC))
  517.  
  518. (deftrap _MAKETHUMBNAILFROMPIXMAP ((SRC (:HANDLE :PIXMAP)) (SRCRECT :RECT) (COLORDEPTH :SIGNED-INTEGER) (THUMBNAIL (:HANDLE :PICTURE)) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)))
  519.    (:STACK :SIGNED-INTEGER)
  520.    (:STACK-TRAP #xAAA3 :D0 44 SRC SRCRECT COLORDEPTH THUMBNAIL PROGRESSPROC))
  521.  
  522. (deftrap _TRIMIMAGE ((DESC (:HANDLE :IMAGEDESCRIPTION)) (INDATA :POINTER) (INBUFFERSIZE :SIGNED-LONG) (DATAPROC (:POINTER :DATAPROCRECORD)) (OUTDATA :POINTER) (OUTBUFFERSIZE :SIGNED-LONG) (FLUSHPROC (:POINTER :FLUSHPROCRECORD)) (TRIMRECT (:POINTER :RECT)) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)))
  523.    (:STACK :SIGNED-INTEGER)
  524.    (:STACK-TRAP #xAAA3 :D0 45 DESC INDATA INBUFFERSIZE DATAPROC OUTDATA OUTBUFFERSIZE FLUSHPROC TRIMRECT PROGRESSPROC))
  525.  
  526. (deftrap _CONVERTIMAGE ((SRCDD (:HANDLE :IMAGEDESCRIPTION)) (SRCDATA :POINTER) (COLORDEPTH :SIGNED-INTEGER) (CLUT (:HANDLE :COLORTABLE)) (ACCURACY :SIGNED-LONG) (QUALITY :SIGNED-LONG) (CTYPE :OSTYPE) (CODEC (:POINTER :PRIVATECOMPONENTRECORD)) (DSTDD (:HANDLE :IMAGEDESCRIPTION)) (DSTDATA :POINTER))
  527.    (:STACK :SIGNED-INTEGER)
  528.    (:STACK-TRAP #xAAA3 :D0 48 SRCDD SRCDATA COLORDEPTH CLUT ACCURACY QUALITY CTYPE CODEC DSTDD DSTDATA))
  529.  
  530. (deftrap _GETCOMPRESSEDPIXMAPINFO ((PIX (:POINTER :PIXMAP)) (DESC (:POINTER (:HANDLE :IMAGEDESCRIPTION))) (DATA (:POINTER :POINTER)) (BUFFERSIZE (:POINTER :SIGNED-LONG)) (DATAPROC (:POINTER :DATAPROCRECORD)) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)))
  531.    (:STACK :SIGNED-INTEGER)
  532.    (:STACK-TRAP #xAAA3 :D0 55 PIX DESC DATA BUFFERSIZE DATAPROC PROGRESSPROC))
  533.  
  534. (deftrap _SETCOMPRESSEDPIXMAPINFO ((PIX (:POINTER :PIXMAP)) (DESC (:HANDLE :IMAGEDESCRIPTION)) (DATA :POINTER) (BUFFERSIZE :SIGNED-LONG) (DATAPROC (:POINTER :DATAPROCRECORD)) (PROGRESSPROC (:POINTER :PROGRESSPROCRECORD)))
  535.    (:STACK :SIGNED-INTEGER)
  536.    (:STACK-TRAP #xAAA3 :D0 56 PIX DESC DATA BUFFERSIZE DATAPROC PROGRESSPROC))
  537.  
  538. (deftrap _STDPIX ((SRC (:POINTER :PIXMAP)) (SRCRECT :RECT) (MATRIX (:POINTER :MATRIXRECORD)) (MODE :SIGNED-INTEGER) (MASK (:HANDLE :REGION)) (MATTE (:POINTER :PIXMAP)) (MATTERECT :RECT) (FLAGS :SIGNED-INTEGER))
  539.    (:STACK :SIGNED-INTEGER)
  540.    (:STACK-TRAP #xAAA3 :D0 12 SRC SRCRECT MATRIX MODE MASK MATTE MATTERECT FLAGS))
  541.  
  542. ;    Standard Preview  
  543.  
  544.  
  545. (deftrap _SFGETFILEPREVIEW ((WHERE :POINT) (PROMPT (:STRING 255)) (FILEFILTER :POINTER) (NUMTYPES :SIGNED-INTEGER) (TYPELIST :SFTYPELIST) (DLGHOOK :POINTER) (REPLY (:POINTER :SFREPLY)))
  546.    NIL
  547.    (:STACK-TRAP #xAAA3 :D0 65 WHERE PROMPT FILEFILTER NUMTYPES TYPELIST DLGHOOK REPLY))
  548.  
  549.  
  550. (deftrap _SFPGETFILEPREVIEW ((WHERE :POINT) (PROMPT (:STRING 255)) (FILEFILTER :POINTER) (NUMTYPES :SIGNED-INTEGER) (TYPELIST :SFTYPELIST) (DLGHOOK :POINTER) (REPLY (:POINTER :SFREPLY)) (DLGID :SIGNED-INTEGER) (FILTERPROC :POINTER))
  551.    NIL
  552.    (:STACK-TRAP #xAAA3 :D0 66 WHERE PROMPT FILEFILTER NUMTYPES TYPELIST DLGHOOK REPLY DLGID FILTERPROC))
  553.  
  554.  
  555. (deftrap _STANDARDGETFILEPREVIEW ((FILEFILTER :POINTER) (NUMTYPES :SIGNED-INTEGER) (TYPELIST :SFTYPELIST) (REPLY (:POINTER :STANDARDFILEREPLY)))
  556.    NIL
  557.    (:STACK-TRAP #xAAA3 :D0 67 FILEFILTER NUMTYPES TYPELIST REPLY))
  558.  
  559.  
  560. (deftrap _CUSTOMGETFILEPREVIEW ((FILEFILTER :POINTER) (NUMTYPES :SIGNED-INTEGER) (TYPELIST :SFTYPELIST) (REPLY (:POINTER :STANDARDFILEREPLY)) (DLGID :SIGNED-INTEGER) (WHERE :POINT) (DLGHOOK :POINTER) (FILTERPROC :POINTER) (ACTIVELIST :POINTER) (ACTIVATEPROC :POINTER) (YOURDATAPTR :POINTER))
  561.    NIL
  562.    (:STACK-TRAP #xAAA3 :D0 68 FILEFILTER NUMTYPES TYPELIST REPLY DLGID WHERE DLGHOOK FILTERPROC ACTIVELIST ACTIVATEPROC YOURDATAPTR))
  563.  
  564.  
  565. (deftrap _MAKEFILEPREVIEW ((RESREFNUM :SIGNED-INTEGER) (PROGRESS (:POINTER :PROGRESSPROCRECORD)))
  566.    (:STACK :SIGNED-INTEGER)
  567.    (:STACK-TRAP #xAAA3 :D0 69 RESREFNUM PROGRESS))
  568.  
  569.  
  570. (deftrap _ADDFILEPREVIEW ((RESREFNUM :SIGNED-INTEGER) (PREVIEWTYPE :OSTYPE) (PREVIEWDATA :HANDLE))
  571.    (:STACK :SIGNED-INTEGER)
  572.    (:STACK-TRAP #xAAA3 :D0 70 RESREFNUM PREVIEWTYPE PREVIEWDATA))
  573.  
  574. (defconstant $sfpItemPreviewAreaUser 11)
  575. (defconstant $sfpItemPreviewStaticText 12)
  576. (defconstant $sfpItemPreviewDividerUser 13)
  577. (defconstant $sfpItemCreatePreviewButton 14)
  578. (defconstant $sfpItemShowPreviewButton 15)
  579.  
  580. (def-mactype :PREVIEWRESOURCEPTR (find-mactype :POINTER))
  581. (def-mactype :PREVIEWRESOURCEHANDLE (find-mactype :HANDLE))
  582. (defrecord (PreviewResourceRecord :handle) 
  583.    (modDate :SIGNED-LONG)
  584.    (version :SIGNED-INTEGER)
  585.    (resType :OSTYPE)
  586.    (resID :SIGNED-INTEGER)
  587.    )
  588.  
  589.  
  590. (deftrap _ALIGNSCREENRECT ((RP (:POINTER :RECT)) (ALIGNMENTPROC (:POINTER :ALIGNMENTPROCRECORD)))
  591.    NIL
  592.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 8 16) 76) RP ALIGNMENTPROC))
  593.  
  594. (deftrap _ALIGNWINDOW ((WP (:POINTER :GRAFPORT)) (FRONT :BOOLEAN) (ALIGNMENTRECT :RECTPTR) (ALIGNMENTPROC (:POINTER :ALIGNMENTPROCRECORD)))
  595.    NIL
  596.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 14 16) 77) WP FRONT ALIGNMENTRECT ALIGNMENTPROC))
  597.  
  598. (deftrap _DRAGALIGNEDWINDOW ((WP (:POINTER :GRAFPORT)) (STARTPT :POINT) (BOUNDSRECT (:POINTER :RECT)) (ALIGNMENTRECT (:POINTER :RECT)) (ALIGNMENTPROC (:POINTER :ALIGNMENTPROCRECORD)))
  599.    NIL
  600.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 20 16) 78) WP STARTPT BOUNDSRECT ALIGNMENTRECT ALIGNMENTPROC))
  601.  
  602. (deftrap _DRAGALIGNEDGRAYRGN ((THERGN (:HANDLE :REGION)) (STARTPT :POINT) (BOUNDSRECT (:POINTER :RECT)) (SLOPRECT (:POINTER :RECT)) (AXIS :SIGNED-INTEGER) (ACTIONPROC :POINTER) (ALIGNMENTRECT (:POINTER :RECT)) (ALIGNMENTPROC (:POINTER :ALIGNMENTPROCRECORD)))
  603.    (:STACK :SIGNED-LONG)
  604.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 30 16) 79) THERGN STARTPT BOUNDSRECT SLOPRECT AXIS ACTIONPROC ALIGNMENTRECT ALIGNMENTPROC))
  605.  
  606.  
  607. (deftrap _SETCSEQUENCEDATARATEPARAMS ((SEQID :SIGNED-LONG) (PARAMS (:POINTER :DATARATEPARAMS)))
  608.    (:STACK :SIGNED-INTEGER)
  609.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 8 16) 80) SEQID PARAMS))
  610.  
  611. (deftrap _SETCSEQUENCEFRAMENUMBER ((SEQID :SIGNED-LONG) (FRAMENUMBER :SIGNED-LONG))
  612.    (:STACK :SIGNED-INTEGER)
  613.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 8 16) 81) SEQID FRAMENUMBER))
  614.  
  615. (deftrap _NEWIMAGEGWORLD ((GWORLD (:POINTER (:POINTER :CGRAFPORT))) (IDH (:HANDLE :IMAGEDESCRIPTION)) (FLAGS :UNSIGNED-LONGINT))
  616.    (:STACK :SIGNED-INTEGER)
  617.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 12 16) 82) GWORLD IDH FLAGS))
  618.  
  619. (deftrap _GETCSEQUENCEDATARATEPARAMS ((SEQID :SIGNED-LONG) (PARAMS (:POINTER :DATARATEPARAMS)))
  620.    (:STACK :SIGNED-INTEGER)
  621.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 8 16) 83) SEQID PARAMS))
  622.  
  623. (deftrap _GETCSEQUENCEFRAMENUMBER ((SEQID :SIGNED-LONG) (FRAMENUMBER (:POINTER :SIGNED-LONG)))
  624.    (:STACK :SIGNED-INTEGER)
  625.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 8 16) 84) SEQID FRAMENUMBER))
  626.  
  627. (deftrap _GETBESTDEVICERECT ((GDH (:POINTER (:HANDLE :GDEVICE))) (RP (:POINTER :RECT)))
  628.    (:STACK :SIGNED-INTEGER)
  629.    (:STACK-TRAP #xAAA3 :D0 (+ (ASH 8 16) 85) GDH RP))
  630.  
  631. (defconstant $identityMatrixType #X0);  result if matrix is identity 
  632. (defconstant $translateMatrixType #X1);  result if matrix translates 
  633. (defconstant $scaleMatrixType #X2);  result if matrix scales 
  634. (defconstant $scaleTranslateMatrixType #X3);  result if matrix scales and translates 
  635. (defconstant $linearMatrixType #X4);  result if matrix is general 2 x 2 
  636. (defconstant $linearTranslateMatrixType #X5);  result if matrix is general 2 x 2 and translates 
  637. (defconstant $perspectiveMatrixType #X6);  result if matrix is general 3 x 3 
  638.  
  639.  
  640. (deftrap _GETMATRIXTYPE ((M :MATRIXRECORD))
  641.    (:STACK :SIGNED-INTEGER)
  642.    (:STACK-TRAP #xABC2 :D0 20 M))
  643.  
  644. (deftrap _COPYMATRIX ((M1 :MATRIXRECORD) (M2 (:POINTER :MATRIXRECORD)))
  645.    NIL
  646.    (:STACK-TRAP #xABC2 :D0 32 M1 M2))
  647.  
  648. (deftrap _EQUALMATRIX ((M1 :MATRIXRECORD) (M2 :MATRIXRECORD))
  649.    (:STACK :BOOLEAN)
  650.    (:STACK-TRAP #xABC2 :D0 33 M1 M2))
  651.  
  652. (deftrap _SETIDENTITYMATRIX ((MATRIX (:POINTER :MATRIXRECORD)))
  653.    NIL
  654.    (:STACK-TRAP #xABC2 :D0 21 MATRIX))
  655.  
  656. (deftrap _TRANSLATEMATRIX ((M (:POINTER :MATRIXRECORD)) (DELTAH :SIGNED-LONG) (DELTAV :SIGNED-LONG))
  657.    NIL
  658.    (:STACK-TRAP #xABC2 :D0 25 M DELTAH DELTAV))
  659.  
  660. (deftrap _ROTATEMATRIX ((M (:POINTER :MATRIXRECORD)) (DEGREES :SIGNED-LONG) (ABOUTX :SIGNED-LONG) (ABOUTY :SIGNED-LONG))
  661.    NIL
  662.    (:STACK-TRAP #xABC2 :D0 22 M DEGREES ABOUTX ABOUTY))
  663.  
  664. (deftrap _SCALEMATRIX ((M (:POINTER :MATRIXRECORD)) (SCALEX :SIGNED-LONG) (SCALEY :SIGNED-LONG) (ABOUTX :SIGNED-LONG) (ABOUTY :SIGNED-LONG))
  665.    NIL
  666.    (:STACK-TRAP #xABC2 :D0 23 M SCALEX SCALEY ABOUTX ABOUTY))
  667.  
  668. (deftrap _SKEWMATRIX ((M (:POINTER :MATRIXRECORD)) (SKEWX :SIGNED-LONG) (SKEWY :SIGNED-LONG) (ABOUTX :SIGNED-LONG) (ABOUTY :SIGNED-LONG))
  669.    NIL
  670.    (:STACK-TRAP #xABC2 :D0 24 M SKEWX SKEWY ABOUTX ABOUTY))
  671.  
  672. (deftrap _TRANSFORMFIXEDPOINTS ((M :MATRIXRECORD) (FPT (:POINTER :FIXEDPOINT)) (COUNT :SIGNED-LONG))
  673.    (:STACK :SIGNED-INTEGER)
  674.    (:STACK-TRAP #xABC2 :D0 34 M FPT COUNT))
  675.  
  676. (deftrap _TRANSFORMPOINTS ((MP :MATRIXRECORD) (PT1 (:POINTER :POINT)) (COUNT :SIGNED-LONG))
  677.    (:STACK :SIGNED-INTEGER)
  678.    (:STACK-TRAP #xABC2 :D0 35 MP PT1 COUNT))
  679.  
  680. (deftrap _TRANSFORMFIXEDRECT ((M :MATRIXRECORD) (FR (:POINTER :FIXEDRECT)) (FPP (:POINTER :FIXEDPOINT)))
  681.    (:STACK :BOOLEAN)
  682.    (:STACK-TRAP #xABC2 :D0 36 M FR FPP))
  683.  
  684. (deftrap _TRANSFORMRECT ((M :MATRIXRECORD) (R (:POINTER :RECT)) (FPP (:POINTER :FIXEDPOINT)))
  685.    (:STACK :BOOLEAN)
  686.    (:STACK-TRAP #xABC2 :D0 37 M R FPP))
  687.  
  688. (deftrap _TRANSFORMRGN ((MP :MATRIXRECORD) (R (:HANDLE :REGION)))
  689.    (:STACK :SIGNED-INTEGER)
  690.    (:STACK-TRAP #xAAA3 :D0 57 MP R))
  691.  
  692. (deftrap _INVERSEMATRIX ((M :MATRIXRECORD) (IM (:POINTER :MATRIXRECORD)))
  693.    (:STACK :BOOLEAN)
  694.    (:STACK-TRAP #xABC2 :D0 28 M IM))
  695.  
  696. (deftrap _CONCATMATRIX ((A :MATRIXRECORD) (B (:POINTER :MATRIXRECORD)))
  697.    NIL
  698.    (:STACK-TRAP #xABC2 :D0 27 A B))
  699.  
  700. (deftrap _RECTMATRIX ((MATRIX (:POINTER :MATRIXRECORD)) (SRCRECT :RECT) (DSTRECT :RECT))
  701.    NIL
  702.    (:STACK-TRAP #xABC2 :D0 30 MATRIX SRCRECT DSTRECT))
  703.  
  704. (deftrap _MAPMATRIX ((MATRIX (:POINTER :MATRIXRECORD)) (FROMRECT :RECT) (TORECT :RECT))
  705.    NIL
  706.    (:STACK-TRAP #xABC2 :D0 29 MATRIX FROMRECT TORECT))
  707.  
  708. ; $ENDC                         ;  UsingImageCompression 
  709.  
  710. ; $IFC NOT UsingIncludes
  711.  
  712. ; $ENDC
  713.  
  714. (export '($PERSPECTIVEMATRIXTYPE $LINEARTRANSLATEMATRIXTYPE $LINEARMATRIXTYPE
  715.           $SCALETRANSLATEMATRIXTYPE $SCALEMATRIXTYPE $TRANSLATEMATRIXTYPE
  716.           $IDENTITYMATRIXTYPE $SFPITEMSHOWPREVIEWBUTTON
  717.           $SFPITEMCREATEPREVIEWBUTTON $SFPITEMPREVIEWDIVIDERUSER
  718.           $SFPITEMPREVIEWSTATICTEXT $SFPITEMPREVIEWAREAUSER $SUPPRESSDITHER
  719.           $FORCEDITHER $DEFAULTDITHER $CODECPROGRESSCLOSE
  720.           $CODECPROGRESSUPDATEPERCENT $CODECPROGRESSOPEN $CODECCOMPLETIONDEST
  721.           $CODECCOMPLETIONSOURCE $CODECHIGHQUALITY $CODECNORMALQUALITY
  722.           $CODECLOWQUALITY $CODECMINQUALITY $CODECMAXQUALITY
  723.           $CODECLOSSLESSQUALITY $BESTCOMPRESSIONCODEC $BESTFIDELITYCODEC
  724.           $BESTSPEEDCODEC $ANYCODEC $DECOMPRESSORCOMPONENTTYPE
  725.           $COMPRESSORCOMPONENTTYPE $CODECMINIMUMDATASIZE $CODECOPENERR
  726.           $CODECCONDITIONERR $CODECEXTENSIONNOTFOUNDERR $CODECDATAVERSERR
  727.           $CODECBADDATAERR $CODECWOULDOFFSCREENERR $CODECABORTERR
  728.           $CODECSPOOLERR $CODECIMAGEBUFERR $CODECSCREENBUFERR $CODECSIZEERR
  729.           $CODECUNIMPERR $NOCODECERR $CODECERR $CODECFLAGUSEDIMAGEBUFFER
  730.           $CODECFLAGUSEDNEWIMAGEBUFFER $CODECFLAGINTERLACEUPDATE
  731.           $CODECFLAGDONTUSENEWIMAGEBUFFER $CODECFLAGLIVEGRAB
  732.           $CODECFLAGONLYSCREENUPDATE $CODECFLAGFORCEKEYFRAME
  733.           $CODECFLAGUPDATEPREVIOUSCOMP $CODECFLAGDONTOFFSCREEN
  734.           $CODECFLAGWASCOMPRESSED $CODECFLAGNOSCREENUPDATE
  735.           $CODECFLAGUPDATEPREVIOUS $CODECFLAGUSESCREENBUFFER
  736.           $CODECFLAGUSEIMAGEBUFFER $CODECINFOSEQUENCESENSITIVE
  737.           $CODECINFODOESLOSSLESS $CODECINFOSTORESCLUT $CODECINFODEPTH40
  738.           $CODECINFODEPTH36 $CODECINFODEPTH34 $CODECINFODEPTH33
  739.           $CODECINFODEPTH24 $CODECINFODEPTH32 $CODECINFODEPTH16
  740.           $CODECINFODEPTH8 $CODECINFODEPTH4 $CODECINFODEPTH2 $CODECINFODEPTH1
  741.           $CODECINFODOESRATECONSTRAIN $CODECINFODOESSPOOL
  742.           $CODECINFODOESRECOMPRESS $CODECINFODOESWARP $CODECINFODOESBLEND
  743.           $CODECINFODOESSKEW $CODECINFODOESVERTFLIP $CODECINFODOESHORIZFLIP
  744.           $CODECINFODOESROTATE $CODECINFODOESQUARTER $CODECINFODOESHALF
  745.           $CODECINFODOESQUAD $CODECINFODOESDOUBLE $CODECINFODOESTEMPORAL
  746.           $CODECINFODOESMASK $CODECINFODOESSHRINK $CODECINFODOESSTRETCH
  747.           $CODECINFODOESDITHER $CODECINFODOES32 $CODECINFODOES16
  748.           $CODECINFODOES8 $CODECINFODOES4 $CODECINFODOES2 $CODECINFODOES1
  749.           $GESTALTCOMPRESSIONMGR))
  750. (provide-interface 'ImageCompression)